Social Media Queue

ABSTRACT

Examples provided herein are directed to social-media playback queues. In one example, a computing system may be configured to (i) receive an identifier of a media playback system, (ii) link the identifier with a social-media account, (iii) based at least on linking the identifier with the social-media account, generate a social-media playback queue that is fillable with one or more media items playable by the media playback system, (iv) establish access permissions to the social-media playback queue, where the access permissions indicate at least one additional social media account that (a) is within a social-media network of the social-media account, and (b) has access to the social-media playback queue, (v) receive, from a computing device affiliated with the at least one additional social-media account, an indication of a media item to be added to the social-media playback queue, and (vi) add the media item to the social-media playback queue.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 120 to, and is acontinuation of, U.S. non provisional patent application Ser. No.15/595,519, filed on May 15, 2017, entitled “Social Media Queue,” whichis incorporated herein by reference in its entirety.

U.S. non provisional patent application Ser. No. 15/595,519 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S. nonprovisional patent application Ser. No. 14/495,595, filed on Sep. 24,2014, entitled “Social Media Queue,” and issued as U.S. Pat. No.9,690,540 on Jun. 27, 2017, which is incorporated herein by reference inits entirety.

This application also incorporates the entire contents of the followingapplications by reference: (i) U.S. application Ser. No. 14/495,633,titled “Playback Updates,” filed on Sep. 24, 2014 and issued on May 5,2020 as U.S. Pat. No. 10,645,130; (ii) U.S. application Ser. No.14/495,706, titled “Indicating an Association Between a Social-MediaAccount and a Media Playback System,” filed Sep. 24, 2014, and issued onMay 30, 2017, as U.S. Pat. No. 9,667,679; (iii) U.S. application Ser.No. 14/495,590, titled “Associating a Captured Image with a Media Item,”filed Sep. 24, 2014, and issued on Jan. 2, 2018 as U.S. Pat. No.9,860,286; (iv) U.S. application Ser. No. 14/495,659, titled “Media ItemContext from Social Media,” filed Sep. 24, 2014, and issued on May 1,2018 as U.S. Pat. No. 9,959,087; (v) U.S. application Ser. No.14/495,684, titled “Social Media Connection Recommendations Based onPlayback Information,” filed Sep. 24, 2014, and issued on Aug. 1, 2017as U.S. Pat. No. 9,723,038.

FIELD OF THE DISCLOSURE

The disclosure is related to consumer goods and, more particularly, tomethods, systems, products, features, services, and other items directedto media playback or some aspect thereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were severely limited until in 2003, when SONOS, Inc. filed forone of its first patent applications, entitled “Method for SynchronizingAudio Playback between Multiple Networked Devices,” and began offering amedia playback system for sale in 2005. The Sonos Wireless HiFi Systemenables people to experience music from virtually unlimited sources viaone or more networked playback devices. Through a software controlapplication installed on a smartphone, tablet, or computer, one can playwhat he or she wants in any room that has a networked playback device.Additionally, using the controller, for example, different songs can bestreamed to each room with a playback device, rooms can be groupedtogether for synchronous playback, or the same song can be heard in allrooms synchronously.

Given the ever growing interest in digital media, there continues to bea need to develop consumer-accessible technologies to further enhancethe listening experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings where:

FIG. 1 shows an example network configuration in which certainembodiments may be practiced;

FIG. 2 shows an example media playback system configuration;

FIG. 3 shows a functional block diagram of an example playback device;

FIG. 4 shows a functional block diagram of an example control device;

FIG. 5 shows an example controller interface;

FIG. 6A is a conceptual illustration of a social-media account;

FIG. 6B is a conceptual illustration of a social-media playback queuepopulated with media items;

FIG. 6C is a conceptual illustration of a social-media-event playbackqueue;

FIG. 7 shows a flow diagram of an example method; and

FIG. 8 shows a flow diagram of another example method.

The drawings are for the purpose of illustrating example embodiments,but it is understood that the inventions are not limited to thearrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

According to examples described herein, a social-media network mayprovide subscribers access to social-media playback queues. Such queuesmay be populated and modified by “friends” within the social-medianetwork. Moreover, a media playback system that is linked to asocial-media account within the social-media network may play back asocial-media playback queue. In this way, social-media “friends” maycontribute to and share in one another's media playback experiences.

Today, social-media networks have become commonplace and may be accessedusing any number of computing devices. Indeed, it is common forsubscribers to be members of more than one social network. Social-medianetworks allow subscribers to share their life experiences and helpfriends and family to stay in touch. A subscriber may share as much oras little personal information that he or she desires.

In examples, a computing device may be connected to (e.g., via asocial-media application) a social-media server that hosts asocial-media network, and the computing device may receive dataindicating a media playback system. For example, when a subscriber firstjoins the social-media network, the subscriber may provide certainbackground information, which may include whether the subscriber has aparticular type of media playback system. The computing device maydetect inputs from the subscriber that identify a media playback system.The computing device may then provide to the social-media server anidentifier of the media playback system.

Alternatively, the media playback system may provide the identifier tothe social-media server. For example, before the media playback systemis operable, one or more setup procedures may first be performed. Onesuch procedure may request that the user provide account information fora particular social-media service. The media playback system may receivean indication of account information for a social-media service and thentransmit to the social-media server of that service an identifier of themedia playback system.

After the social-media server receives the identifier, the social-mediaserver may link the identifier with a social-media account. Forinstance, continuing off of the above example, after the subscriberprovides the background information that includes identification of themedia playback system, the social-media server may then link the mediaplayback system with the new social-media account. In this way, themedia playback system is associated with the social-media account andmay be controlled by certain social-media activities, as discussed infurther detail below.

Based on linking the identifier with the social-media account, thesocial-media server may generate a social-media playback queueassociated with the social-media account. The social-media playbackqueue may be fillable with media items that are playable by the mediaplayback system that is linked with the social-media account. Inexamples, the subscriber may access the social-media playback queuethrough the social-media network (e.g., via a web browser orsocial-media application running on a computing device) or through themedia playback system (e.g., via a controller of the media playbacksystem).

Moreover, other social-media subscribers may also access thesocial-media playback queue. In examples, after the social-mediaplayback queue is generated, the social-media server may establishaccess permissions to the social-media playback queue. Accesspermissions may designate other subscribers that may access thesocial-media playback queue, such as “friends of the subscriber.Further, the access permissions may define what actions othersubscribers may perform with the social-media playback queue. Forexample, an access permission may allow all social-media subscribers toview the social-media playback queue, another access permission mayallow all “friends” of the subscriber to populate and modify the queue,and yet another access permission may allow “friends” that also have alinked media playback system to play back the queue. Other exampleaccess permissions are also possible.

After the access permissions have been established, the othersubscribers may access the social-media playback queue. In examples,other subscribers with the appropriate access permissions may view arepresentation of the social-media playback queue via the socialnetwork. For instance, the other subscribers may view the social-mediaplayback queue through the subscriber's social-media profile, wall, orthe like. Moreover, other subscribers with the appropriate accesspermissions may contribute to the social-media playback queue by adding,deleting, or rearranging the order of media items in the social-mediaplayback queue.

In some examples, one of the other subscribers may have a linked mediaplayback system as well. This media playback system may receive anindication of the social-media playback queue. The one other subscribermay use his or her linked media playback system (e.g., a controller ofthat media playback system) to select a media item to be added to thesocial-media playback queue. The media playback system may receive dataindicating the media item and then transmit to the social-media serveran indication of the media item to be added to the queue.

The social-media server may receive this indication and then add themedia item to the social-media playback queue. At this point, anysubscriber with the appropriate access permissions may play back themedia item in the social-media playback queue. Indeed, multiplesubscribers may access the social-media playback queue and play back themedia item at the same time, perhaps in synchrony. A given subscribermay play back the media item through a web browser or social-mediaapplication on a computing device or through a linked media playbacksystem, provided the given subscriber has a linked playback system,among other examples.

In one example, the one other subscriber may play back the media itemthrough his or her linked media playback system. In particular, themedia playback system may receive a playback prompt instructing themedia playback system to play back the social-media playback queue. Themedia playback system may then obtain the media item for play back.

Any given social-media subscriber may have multiple social-mediaplayback queues. That is, a social-media account may be linked tomultiple social-media playback queues. In some examples, a social-mediaplayback queue may be generated when a social-media event is created bya subscriber with a linked media playback system. Access to such a queuemay be limited to those “friends” that the subscriber invites to theevent. In such examples, invited “friends” may add media items to thesocial-media playback queue prior to the event, and the social-mediaserver may track which items a particular “friend” adds.

At the event, a linked media playback system may play back thesocial-media playback queue that was generated in response to thesocial-media event being created. In some examples, before the linkedmedia playback system plays a given media item from the social-mediaplayback queue, the media playback system may first enable the mediaitem for play back.

Enabling a media item for play back may be performed in a number ofmanners. For example, when a “friend” arrives at the event, the “friend”may “check in” to the event through the social-media network (e.g., viathe wall for the social-media event) using his or her smartphone. Themedia playback system may receive from the social-media server anindication of the “check in”, and in turn, the media playback system maythen enable any media items that the “friend” added to the social-mediaplayback queue. In some examples, in addition to enabling the mediaitems, the media playback system may move one or more media items up inthe playback queue so that one of the “friend's” added media items playsback relatively close to the time of the “check in.” Other examples arealso possible.

As indicated above, examples provided herein are directed tosocial-media playback queues. In one aspect, a method is provided. Themethod involves (i) receiving, by a computing system, an identifier of amedia playback system, (ii) linking the identifier with a social-mediaaccount such that the media playback system is associated with thesocial-media account, (iii) based at least on linking the identifierwith the social-media account, generating a social-media playback queuethat is fillable with one or more media items that are playable by themedia playback system, (iv) establishing access permissions to thesocial-media playback queue, wherein the access permissions indicate atleast one additional social-media account that (a) is within asocial-media network of the social-media account and (b) has access tothe social-media playback queue, (v) receiving, by the computing systemfrom a computing device affiliated with the at least one additionalsocial-media account, an indication of a media item to be added to thesocial-media playback queue, and (vi) adding the media item to thesocial-media playback queue.

In another aspect, a computing system is provided. The computing systemcomprises a network interface, a processing unit, a non-transitorycomputer-readable medium, and program instructions stored on thenon-transitory computer-readable medium. The program instructions areexecutable by the processing unit and when executed cause the computingsystem to (i) receive an identifier of a media playback system, (ii)link the identifier with a social-media account such that the mediaplayback system is associated with the social-media account, (iii) basedat least on linking the identifier with the social-media account,generate a social-media playback queue that is fillable with one or moremedia items that are playable by the media playback system, (iv)establish access permissions to the social-media playback queue, whereinthe access permissions indicate at least one additional social-mediaaccount that (a) is within a social-media network of the social-mediaaccount and (b) has access to the social-media playback queue, (v)receive, from a computing device affiliated with the at least oneadditional social-media account, an indication of a media item to beadded to the social-media playback queue, and (vi) add the media item tothe social-media playback queue.

In yet another aspect, a non-transitory computer-readable medium isprovided. The non-transitory computer-readable medium havinginstructions stored thereon that are executable by a computing system tocause the computing system to (i) receive an identifier of a mediaplayback system, (ii) link the identifier with a social-media accountsuch that the media playback system is associated with the social-mediaaccount, (iii) based at least on linking the identifier with thesocial-media account, generate a social-media playback queue that isfillable with one or more media items that are playable by the mediaplayback system, (iv) establish access permissions to the social-mediaplayback queue, wherein the access permissions indicate at least oneadditional social-media account that (a) is within a social-medianetwork of the social-media account and (b) has access to thesocial-media playback queue, (v) receive, from a computing deviceaffiliated with the at least one additional social-media account, anindication of a media item to be added to the social-media playbackqueue, and (vi) add the media item to the social-media playback queue.

In an additional aspect, a method is provided. The method involves (i)transmitting, by a media playback device to a social-media computingsystem, an identifier of the media playback system to facilitateassociating the media playback system with a first social-media account,(ii) receiving, by the media playback device from the social-mediacomputing system, an indication of a social-media playback queuecorresponding to a second social-media account, wherein the secondsocial-media account is within a social-media network of the firstsocial-media account, (iii) receiving, by a media playback device, aplayback prompt instructing the media playback device to play back thesocial-media playback queue, and (iv) obtaining, by the media playbackdevice, one or more media items in the social-media playback queue forplay back by the media playback device.

In another aspect, a media playback device is provided. The mediaplayback device comprises one or more media processing components, atleast one processor, a non-transitory computer-readable medium andprogram instructions stored on the non-transitory computer-readablemedium. The program instructions are executable by the at least oneprocessor and when executed cause the media playback device to (i)transmit, to a social-media computing system, an identifier of the mediaplayback system to facilitate associating the media playback system witha first social-media account, (ii) receive, from the social-mediacomputing system, an indication of a social-media playback queuecorresponding to a second social-media account, wherein the secondsocial-media account is within a social-media network of the firstsocial-media account, (iii) receive a playback prompt instructing themedia playback device to play back the social-media playback queue, and(iv) obtain one or more media items in the social-media playback queuefor play back by the media playback device.

In one other aspect, a non-transitory computer-readable medium isprovided. The non-transitory computer-readable medium havinginstructions stored thereon that are executable by a media playbacksystem to cause the media playback system to (i) transmit, to asocial-media computing system, an identifier of the media playbacksystem to facilitate associating the media playback system with a firstsocial-media account, (ii) receive, from the social-media computingsystem, an indication of a social-media playback queue corresponding toa second social-media account, wherein the second social-media accountis within a social-media network of the first social-media account,(iii) receive a playback prompt instructing the media playback device toplay back the social-media playback queue, and (iv) obtain one or moremedia items in the social-media playback queue for play back by themedia playback device.

It will be understood by one of ordinary skill in the art that thisdisclosure includes numerous other embodiments.

II. Example Network Configuration

FIG. 1 shows an example network configuration 100 in which one or moreembodiments disclosed herein may be practiced or implemented. As shown,the network configuration 100 includes a wide area network (“WAN”) 110that communicatively couples a media system server 120, a social-mediaserver 130, one or more media playback systems 140 and 142, and one ormore computing devices 150, 152, and 154. It should be understood thatthe network configuration 100 may include more or fewer of the depictednetwork elements and/or may include various other network elements notshown in FIG. 1 (e.g. one or more media sources).

In examples, the WAN 110 may include the Internet and/or one or morecellular networks, among other networks. Although the WAN 110 is shownas one network, it should be understood that the WAN 110 may includemultiple, distinct WANs that are themselves communicatively linked. TheWAN 110 may facilitate transferring data between one or more of thevarious network elements shown in FIG. 1. In some examples, a givennetwork element may communicate with another network element through yetanother network element. For instance, the media playback systems 140and 142 may communicate with the social-media server 130 through themedia system server 120 and/or the computing devices 150-154 maycommunicate with the media system server 120 through the social-mediaserver 130. Other examples are also possible.

In some examples, certain network elements may be communicativelycoupled to other network elements via means other than the WAN 110. Inparticular, certain network elements may be communicatively coupled viaa local area network (e.g., via WiFi), a personal area network (e.g.,via Bluetooth), and/or other connections (e.g., via a wired connection).For example, the computing device 150 may communicate with the mediaplayback system 140 via a local area network (e.g., WiFi or perhapsaccording to a proprietary protocol). The computing device 150 may do sowhile operating as part of the media playback system 140 (e.g., as acontrol device).

The media system server 120 may include a network interface, aprocessing unit, and data storage, all of which may be communicativelylinked together by a system bus, network, or other connection mechanism.The network interface may facilitate data flow over the WAN 110 betweenthe media system server 120 and other network elements. The processingunit may include one or more general purpose processors and/or one ormore special purpose processors and may be integrated in whole or inpart with the network interface. The data storage may include anon-transitory computer-readable medium, such as optical, magnetic, orflash memory, and may be integrated in whole or in part with theprocessing unit. The data storage may also include program instructionsthat are executable by the processing unit to carry out variousoperations described herein.

Moreover, the media system server 120 may be configured to store and/oraccess various data related to media items and/or media playbacksystems. In examples, the media system server 120 may be configured tostore and/or access media items that are playable by a media playbacksystem. In such examples, the media system server 120 may be configuredto provide to a given media playback system media items (e.g., audio,video, and/or audio-visual files) or links, pointers, or other networklocation identifiers that are operable to locate the media items.Additionally, the media system server 120 may be configured to storeand/or access a cross-service linking database that facilitatesidentifying a media item from a first media source based on media iteminformation from a second media source.

The media system server 120 may also be configured to provide one ormore media applications to the media playback systems 140-142 and/or thecomputing devices 150-154. In some cases, a media application may beoperable to allow a computing device to control one or more mediaplayback systems. Additionally or alternatively, a media application maybe operable to allow a media playback system to interface with thesocial-media server 130 and playback media items based on social-mediadata. Further still, a media application may be operable to providefunctions similar to those provided by a social-media application,discussed in further detail below. Other example media applications arealso possible.

In examples, the media system server 120 may be configured to storeand/or access account information corresponding to a particular mediaplayback system. Such information, which may be collectively referredherein as a “playback system account”, may include system information(e.g., a household identifier (HHID) that is used to uniquely identifythe particular media playback system, identifiers of the devices withinthe particular system, the software version currently installed on theparticular media playback system, etc.) user information (e.g., name,date of birth, etc. of the user or users of the particular system),playback history information (e.g., media items previously played on theparticular system and perhaps timestamps indicating when such mediaitems were played), playback preference information (e.g., frequency atwhich a given media item is played, indications of media items that havebeen “liked” or “starred”, etc.), and linked-account information (e.g.,one or more social-media accounts that are linked to the particularmedia playback system). Other examples of information storable andaccessible by the media system server 120 are also possible.

In some examples, a playback system account may also include informationregarding the media services that provide media to the particular mediaplayback system. For example, the playback system account may includeone or more identifiers of media services that provide media to theparticular media playback system. Such information may be used by themedia system server 120, or perhaps the social-media server 130, torecommend media services that a user might be interested in. Otherexamples are also possible.

In practice, the media system server 120 may store some or all of theabove-discussed information based on data received from media playbacksystems (e.g., the media playback systems 140 and 142), the social-mediaserver 130, and/or the computing devices 150-154. In examples, suchinformation may be provided to the media system server 120 when a mediaplayback system is first setup, when a media playback system plays backmedia items, when a media playback system receives data indicating userfeedback, and/or when a computing device runs a media application tocontrol a media playback system, among other scenarios. In any event,the media system server 120 may be configured to provide an option to auser to “opt in” so that the aforementioned information is collected bythe media system server 120.

The media system server 120 may be further configured to use theabove-discussed information to determine playback behaviors of users ofmedia playback systems, among other operations. Based on user playbackbehaviors, the media system server 120 may perform a number ofoperations that may add to the users' playback experience. For example,such information may be used to identify a trending artist and thenrecommend that trending artist to a user whose playback historyindicates he or she listens to other artists similar to the trendingartist. Other examples are certainly possible.

The social-media server 130 may include a network interface, aprocessing unit, and data storage, similar to those of the media systemserver 120 discussed above. The social-media server 130 may beconfigured to provide a social-media service to subscribers to theservice. For example, the social-media server 130 may be configured toestablish and/or maintain a social network. To this end, thesocial-media server 130 may be configured to host a social-media webpageaccessible over the WAN 110 by subscribers utilizing any suitablecomputing device, such as the computing devices 150-154.

In examples, the social-media server 130 may be configured to storesubscriber account information, which may be collectively referredherein as a “social media account”. Such information may include thename, gender, birthdate, email address, and/or residential address,among other information, for each subscriber. Moreover, the social-mediaserver 130 may also be configured to link a given subscriber with aparticular media playback system. For example, when a user firstsubscribes to the social-media service, the user may provideinformation, such as an HHID, of a media playback system used by theuser, and the social-media server 130 may then store such information inthe account of the subscriber.

In addition to subscriber account information, the social-media server130 may also be configured to store respective subscriber profiles foreach subscriber. Broadly speaking, a subscriber profile may includeinformation regarding a subscriber's life, such as relationship status,photos, videos, career information, education information,hobbies/interests, locations visited (e.g., “check-in” locations),sports teams that the subscriber is a fan of, and/or movies, books,artists, TV shows, and the like that the subscriber previouslyexperienced and perhaps enjoyed. Such information may be presented on asubscriber profile in a number of manners, such as through subscriberposts, status updates, blogs, and other uploads.

The social network provided by the social-media server 130 may beconfigured so that subscribers may readily share and exchangeinformation, ideas, creations, and the like over a virtual community.The social-media service may provide to its subscribers, via asocial-media webpage, respective social-media information that isdetermined to be relevant to a particular subscriber. Such informationmay be provided in several manners (e.g., as a “news feed”, “timeline”,or the like) and may be personalized to fit the preferences of aparticular subscriber. In examples, this information may be continuouslyupdated to reflect the most current information that may be relevant toa particular subscriber.

A given subscriber may have certain “friends” that he/she chooses toassociate with. After someone is deemed a “friend” with a givensubscriber, the given subscriber may then receive social informationthat is uploaded, tagged, posted, or otherwise provided by the “friend.”For example, the given subscriber's news feed may show a photograph thata “friend” captured and subsequently posted to the social-media webpage.Moreover, a listing of a given subscriber's “friends” may also beprovided and that listing may include various information in variousforms reflecting a current “status” or the like for a given “friend.”The given subscriber may at also be able to “de-friend” someone that waspreviously deemed a “friend.”

In practice, the social-media server 130 may be configured to collectand analyze the information that is shared and exchanged over thesocial-media service. The social-media server 130 may be configured touse this collected information, as well as subscriber accountinformation, to determine for a particular subscriber other subscribersthat the particular subscriber might want to become “friends” with. Inthis way, the social-media server 130 may be configured to determine thepreferences and/or tastes of its subscribers and recommend othersubscribers with similar tastes.

Moreover, the social-media server 130 may be configured to provide oneor more social-media applications that are operable to providesubscribers access to the social-media service in a manner differentthan through a web browser. Such an application may be installed on acomputing device that is perhaps portable. In examples, a social-mediaapplication may further be operable to provide functions similar tothose provided by a media application, as discussed above.

Furthermore, a social-media application, and/or perhaps a mediaapplication, installed on a computing device may be operable todetermine what, if any, other applications are also installed on thecomputing device. An application that is operable in such a manner mayfacilitate linking a playback system account with a social media accountand vice versa. In examples, after a social-media application installedon a computing device is linked to a playback system account, thesocial-media application may be operable to affect playback of media ata media playback system identified by the playback system account.

In examples, the network configuration 100 may also include one or moremedia service provider servers communicatively coupled to the WAN 110.In general, a given media service provider server may correspond to amedia service provider that provides streaming media, such as Internetradio and/or “on-demand” media, to the media playback systems 140-142and/or the computing devices 150-154. A user may subscribe to such aservice and register media devices (e.g., a media playback system and/orone or more computing devices) that may at times be used to access themedia service. A media service provider server may include similarcomponents as the servers discussed above.

Generally speaking, the media playback systems 140 and 142 may be anytype of media playback system configured to receive and transmit dataover a communication network and playback media items. In practice, eachmedia playback system 140 and 142 may include one or more playbackdevices, as well as additional system devices (e.g., a controllerdevice). An example media playback system is discussed in further detailbelow with reference to FIG. 2. It should be understood that the mediaplayback system 140 and the media playback system 142 may be configuredsimilarly or differently and/or may include similar or differentdevices.

In general, each computing device 150-154 may be any computing deviceconfigured to transfer data over a communication network. The computingdevices 150-154 may each include at least one processor, memory, agraphical display, an input interface, and a network interface, amongother components. In some instances, the graphical display and the inputinterface may be part of the same component (e.g., a touchscreen). Thenetwork interface may facilitate data flow between the computing deviceand another network element, for example, via the WAN 110. In someexamples, one or more of the computing devices 150-154 may also includea camera configured to capture image and/or video data. Examplecomputing devices include, but are not limited to, cellular phones,smartphones, PDAs, tablets, laptops, desktop computers, video gameconsoles, and smart TVs.

Moreover, the computing devices 150-154 may be configured to download,install, and operate an application, such as a media or social-mediaapplication. In examples, a given computing device may include a mediaapplication provided by the media system server 120 and a social-mediaapplication provided by the social-media server 130, while anothercomputing device may include one or the other application but not both.

A computing device may be configured to run both applications at thesame time or individually. In some examples, the computing devices150-154 may provide to the media system server 120 and/or thesocial-media server 130 an indication of applications that are installedon a particular computing device. For instance, the computing device 150may be configured to provide to the media system server 120 anindication that a social-media application is installed. Additionally oralternatively, the computing device 150 may be configured to provide tothe social-media server 130 an indication that a media application isinstalled and/or active or otherwise currently running.

Furthermore, a computing device may be configured to provide socialmedia information and/or media playback information to the media systemserver 120 and/or the social-media server 130. Such information may thenbe used by the media system server 120 and/or the social-media server130 to help perform some of the operations disclosed in further detailbelow. III. Example Media Playback System

FIG. 2 shows an example configuration of a media playback system 200.The media playback system 200 as shown is associated with an examplehome environment having several rooms and spaces, such as for example, amaster bedroom, an office, a dining room, and a living room. As shown inthe example of FIG. 2, the media playback system 200 includes playbackdevices 202-224, control devices 226 and 228, and a wired or wirelessnetwork router 230.

Further discussions relating to the different components of the examplemedia playback system 200 and how the different components may interactto provide a user with a media experience may be found in the followingsections. While discussions herein may generally refer to the examplemedia playback system 200, technologies described herein are not limitedto applications within, among other things, the home environment asshown in FIG. 2. For instance, the technologies described herein may beuseful in environments where multi-zone audio may be desired, such as,for example, a commercial setting like a restaurant, mall or airport, avehicle like a sports utility vehicle (SUV), bus or car, a ship or boat,an airplane, and so on.

a. Example Playback Devices

FIG. 3 shows a functional block diagram of an example playback device300 that may be configured to be one or more of the playback devices202-224 of the media playback system 200 of FIG. 2. The playback device300 may include a processor 302, software components 304, memory 306,audio processing components 308, audio amplifier(s) 310, speaker(s) 312,and a network interface 314 including wireless interface(s) 316 andwired interface(s) 318. In one case, the playback device 300 may notinclude the speaker(s) 312, but rather a speaker interface forconnecting the playback device 300 to external speakers. In anothercase, the playback device 300 may include neither the speaker(s) 312 northe audio amplifier(s) 310, but rather an audio interface for connectingthe playback device 300 to an external audio amplifier or audio-visualreceiver.

In one example, the processor 302 may be a clock-driven computingcomponent configured to process input data according to instructionsstored in the memory 306. The memory 306 may be a tangiblecomputer-readable medium configured to store instructions executable bythe processor 302. For instance, the memory 306 may be data storage thatcan be loaded with one or more of the software components 304 executableby the processor 302 to achieve certain functions. In one example, thefunctions may involve the playback device 300 retrieving audio data froman audio source or another playback device. In another example, thefunctions may involve the playback device 300 sending audio data toanother device or playback device on a network. In yet another example,the functions may involve pairing of the playback device 300 with one ormore playback devices to create a multi-channel audio environment.

Certain functions may involve the playback device 300 synchronizingplayback of audio content with one or more other playback devices.During synchronous playback, a listener will preferably not be able toperceive time-delay differences between playback of the audio content bythe playback device 300 and the one or more other playback devices. U.S.Pat. No. 8,234,395 entitled, “System and method for synchronizingoperations among a plurality of independently clocked digital dataprocessing devices,” which is hereby incorporated by reference, providesin more detail some examples for audio playback synchronization amongplayback devices.

The memory 306 may further be configured to store data associated withthe playback device 300, such as one or more zones and/or zone groupsthe playback device 300 is a part of, audio sources accessible by theplayback device 300, or a playback queue that the playback device 300(or some other playback device) may be associated with. The data may bestored as one or more state variables that are periodically updated andused to describe the state of the playback device 300. The memory 306may also include the data associated with the state of the other devicesof the media system, and shared from time to time among the devices sothat one or more of the devices have the most recent data associatedwith the system. Other embodiments are also possible.

The audio processing components 308 may include one or moredigital-to-analog converters (DAC), an audio preprocessing component, anaudio enhancement component or a digital signal processor (DSP), and soon. In one embodiment, one or more of the audio processing components308 may be a subcomponent of the processor 302. In one example, audiocontent may be processed and/or intentionally altered by the audioprocessing components 308 to produce audio signals. The produced audiosignals may then be provided to the audio amplifier(s) 310 foramplification and playback through speaker(s) 312. Particularly, theaudio amplifier(s) 310 may include devices configured to amplify audiosignals to a level for driving one or more of the speakers 312. Thespeaker(s) 312 may include an individual transducer (e.g., a “driver”)or a complete speaker system involving an enclosure with one or moredrivers. A particular driver of the speaker(s) 312 may include, forexample, a subwoofer (e.g., for low frequencies), a mid-range driver(e.g., for middle frequencies), and/or a tweeter (e.g., for highfrequencies). In some cases, each transducer in the one or more speakers312 may be driven by an individual corresponding audio amplifier of theaudio amplifier(s) 310. In addition to producing analog signals forplayback by the playback device 300, the audio processing components 308may be configured to process audio content to be sent to one or moreother playback devices for playback.

Audio content to be processed and/or played back by the playback device300 may be received from an external source, such as via an audioline-in input connection (e.g., an auto-detecting 3.5 mm audio line-inconnection) or the network interface 314.

The network interface 314 may be configured to facilitate a data flowbetween the playback device 300 and one or more other devices on a datanetwork. As such, the playback device 300 may be configured to receiveaudio content over the data network from one or more other playbackdevices in communication with the playback device 300, network deviceswithin a local area network, or audio content sources over a wide areanetwork such as the Internet. In one example, the audio content andother signals transmitted and received by the playback device 300 may betransmitted in the form of digital packet data containing an InternetProtocol (IP)-based source address and IP-based destination addresses.In such a case, the network interface 314 may be configured to parse thedigital packet data such that the data destined for the playback device300 is properly received and processed by the playback device 300.

As shown, the network interface 314 may include wireless interface(s)316 and wired interface(s) 318. The wireless interface(s) 316 mayprovide network interface functions for the playback device 300 towirelessly communicate with other devices (e.g., other playbackdevice(s), speaker(s), receiver(s), network device(s), controldevice(s), controller device(s) within a data network the playbackdevice 300 is associated with) in accordance with a communicationprotocol (e.g., any wireless standard including IEEE 802.11a, 802.11b,802.11g, 802.11n, 802.11ac, 802.15, 4G mobile communication standard,and so on). The wired interface(s) 318 may provide network interfacefunctions for the playback device 300 to communicate over a wiredconnection with other devices in accordance with a communicationprotocol (e.g., IEEE 802.3). While the network interface 314 shown inFIG. 3 includes both wireless interface(s) 316 and wired interface(s)318, the network interface 314 may in some embodiments include onlywireless interface(s) or only wired interface(s).

In one example, the playback device 300 and one other playback devicemay be paired to play two separate audio components of audio content.For instance, playback device 300 may be configured to play a leftchannel audio component, while the other playback device may beconfigured to play a right channel audio component, thereby producing orenhancing a stereo effect of the audio content. The paired playbackdevices (also referred to as “bonded playback devices”) may further playaudio content in synchrony with other playback devices.

In another example, the playback device 300 may be sonicallyconsolidated with one or more other playback devices to form a single,consolidated playback device. A consolidated playback device may beconfigured to process and reproduce sound differently than anunconsolidated playback device or playback devices that are paired,because a consolidated playback device may have additional speakerdrivers through which audio content may be rendered. For instance, ifthe playback device 300 is a playback device designed to render lowfrequency range audio content (i.e. a subwoofer), the playback device300 may be consolidated with a playback device designed to render fullfrequency range audio content. In such a case, the full frequency rangeplayback device, when consolidated with the low frequency playbackdevice 300, may be configured to render only the mid and high frequencycomponents of audio content, while the low frequency range playbackdevice 300 renders the low frequency component of the audio content. Theconsolidated playback device may further be paired with a singleplayback device or yet another consolidated playback device.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices including a “PLAY:1,” “PLAY:3,”“PLAY:5,” “PLAYBAR,” “CONNECT:AMP,” “CONNECT,” and “SUB.” Any otherpast, present, and/or future playback devices may additionally oralternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, it is understood that aplayback device is not limited to the example illustrated in FIG. 3 orto the SONOS product offerings. For example, a playback device mayinclude a wired or wireless headphone. In another example, a playbackdevice may include or interact with a docking station for personalmobile media playback devices. In yet another example, a playback devicemay be integral to another device or component such as a television, alighting fixture, or some other device for indoor or outdoor use.

b. Example Playback Zone Configurations

Referring back to the media playback system 200 of FIG. 2, theenvironment may have one or more playback zones, each with one or moreplayback devices. The media playback system 200 may be established withone or more playback zones, after which one or more zones may be added,or removed to arrive at the example configuration shown in FIG. 2. Eachzone may be given a name according to a different room or space such asan office, bathroom, master bedroom, bedroom, kitchen, dining room,living room, and/or balcony. In one case, a single playback zone mayinclude multiple rooms or spaces. In another case, a single room orspace may include multiple playback zones.

As shown in FIG. 2, the balcony, dining room, kitchen, bathroom, office,and bedroom zones each have one playback device, while the living roomand master bedroom zones each have multiple playback devices. In theliving room zone, playback devices 204, 206, 208, and 210 may beconfigured to play audio content in synchrony as individual playbackdevices, as one or more bonded playback devices, as one or moreconsolidated playback devices, or any combination thereof. Similarly, inthe case of the master bedroom, playback devices 222 and 224 may beconfigured to play audio content in synchrony as individual playbackdevices, as a bonded playback device, or as a consolidated playbackdevice.

In one example, one or more playback zones in the environment of FIG. 2may each be playing different audio content. For instance, the user maybe grilling in the balcony zone and listening to hip hop music beingplayed by the playback device 202 while another user may be preparingfood in the kitchen zone and listening to classical music being playedby the playback device 214. In another example, a playback zone may playthe same audio content in synchrony with another playback zone. Forinstance, the user may be in the office zone where the playback device218 is playing the same rock music that is being playing by playbackdevice 202 in the balcony zone. In such a case, playback devices 202 and218 may be playing the rock music in synchrony such that the user mayseamlessly (or at least substantially seamlessly) enjoy the audiocontent that is being played out-loud while moving between differentplayback zones. Synchronization among playback zones may be achieved ina manner similar to that of synchronization among playback devices, asdescribed in previously referenced U.S. Pat. No. 8,234,395.

As suggested above, the zone configurations of the media playback system200 may be dynamically modified, and in some embodiments, the mediaplayback system 100 supports numerous configurations. For instance, if auser physically moves one or more playback devices to or from a zone,the media playback system 200 may be reconfigured to accommodate thechange(s). For instance, if the user physically moves the playbackdevice 202 from the balcony zone to the office zone, the office zone maynow include both the playback device 218 and the playback device 202.The playback device 202 may be paired or grouped with the office zoneand/or renamed if so desired via a control device such as the controldevices 226 and 228. On the other hand, if the one or more playbackdevices are moved to a particular area in the home environment that isnot already a playback zone, a new playback zone may be created for theparticular area.

Further, different playback zones of the media playback system 200 maybe dynamically combined into zone groups or split up into individualplayback zones. For instance, the dining room zone and the kitchen zone214 may be combined into a zone group for a dinner party such thatplayback devices 212 and 214 may render audio content in synchrony. Onthe other hand, the living room zone may be split into a television zoneincluding playback device 204, and a listening zone including playbackdevices 206, 208, and 210, if the user wishes to listen to music in theliving room space while another user wishes to watch television.

c. Example Control Devices

FIG. 4 shows a functional block diagram of an example control device 400that may be configured to be one or both of the control devices 226 and228 of the media playback system 200. As shown, the control device 400may include a processor 402, memory 404, a network interface 406, and auser interface 408. In one example, the control device 400 may be adedicated controller for the media playback system 200.

In another example, the control device 400 may be a network device onwhich media application software is installed, such as an iPhone™, iPad™or any other smart phone, tablet or network device (e.g., a networkedcomputer such as a PC or Mac™). In examples, the media application maytake the form of a media playback system controller application operableto control a media playback system. In yet another example, the mediaapplication may be operable to cause the control device 400 to obtainmedia (e.g., from a given media service provider associated with themedia application) independent from a media playback system and may alsobe operable as a control device of a media playback system.

The processor 402 may be configured to perform functions relevant tofacilitating user access, control, and configuration of the mediaplayback system 200. The memory 404 may be configured to storeinstructions executable by the processor 402 to perform those functions.The memory 404 may also be configured to store the media playback systemcontroller application software and other data associated with the mediaplayback system 200 and the user.

In one example, the network interface 406 may be based on an industrystandard (e.g., infrared, radio, wired standards including IEEE 802.3,wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.15, 4G mobile communication standard, and so on). Thenetwork interface 406 may provide a means for the control device 400 tocommunicate with other devices in the media playback system 200. In oneexample, data and information (e.g., such as a state variable) may becommunicated between control device 400 and other devices via thenetwork interface 406. For instance, playback zone and zone groupconfigurations in the media playback system 200 may be received by thecontrol device 400 from a playback device or another network device, ortransmitted by the control device 400 to another playback device ornetwork device via the network interface 406. In some cases, the othernetwork device may be another control device.

Playback device control commands such as volume control and audioplayback control may also be communicated from the control device 400 toa playback device via the network interface 406. As suggested above,changes to configurations of the media playback system 200 may also beperformed by a user using the control device 400. The configurationchanges may include adding/removing one or more playback devices to/froma zone, adding/removing one or more zones to/from a zone group, forminga bonded or consolidated player, separating one or more playback devicesfrom a bonded or consolidated player, among others. Accordingly, thecontrol device 400 may sometimes be referred to as a controller, whetherthe control device 400 is a dedicated controller or a network device onwhich media playback system controller application software isinstalled.

The user interface 408 of the control device 400 may be configured tofacilitate user access and control of the media playback system 200, byproviding a controller interface such as the controller interface 500shown in FIG. 5. The controller interface 500 includes a playbackcontrol region 510, a playback zone region 520, a playback status region530, a playback queue region 540, and an audio content sources region550. The user interface 500 as shown is just one example of a userinterface that may be provided on a network device such as the controldevice 400 of FIG. 4 (and/or the control devices 226 and 228 of FIG. 2)and accessed by users to control a media playback system such as themedia playback system 200. Other user interfaces of varying formats,styles, and interactive sequences may alternatively be implemented onone or more network devices to provide comparable control access to amedia playback system.

The playback control region 510 may include selectable (e.g., by way oftouch or by using a cursor) icons to cause playback devices in aselected playback zone or zone group to play or pause, fast forward,rewind, skip to next, skip to previous, enter/exit shuffle mode,enter/exit repeat mode, enter/exit cross fade mode. The playback controlregion 510 may also include selectable icons to modify equalizationsettings, and playback volume, among other possibilities.

The playback zone region 520 may include representations of playbackzones within the media playback system 200. In some embodiments, thegraphical representations of playback zones may be selectable to bringup additional selectable icons to manage or configure the playback zonesin the media playback system, such as a creation of bonded zones,creation of zone groups, separation of zone groups, and renaming of zonegroups, among other possibilities.

For example, as shown, a “group” icon may be provided within each of thegraphical representations of playback zones. The “group” icon providedwithin a graphical representation of a particular zone may be selectableto bring up options to select one or more other zones in the mediaplayback system to be grouped with the particular zone. Once grouped,playback devices in the zones that have been grouped with the particularzone will be configured to play audio content in synchrony with theplayback device(s) in the particular zone. Analogously, a “group” iconmay be provided within a graphical representation of a zone group. Inthis case, the “group” icon may be selectable to bring up options todeselect one or more zones in the zone group to be removed from the zonegroup. Other interactions and implementations for grouping andungrouping zones via a user interface such as the user interface 500 arealso possible. The representations of playback zones in the playbackzone region 520 may be dynamically updated as playback zone or zonegroup configurations are modified.

The playback status region 530 may include graphical representations ofaudio content that is presently being played, previously played, orscheduled to play next in the selected playback zone or zone group. Theselected playback zone or zone group may be visually distinguished onthe user interface, such as within the playback zone region 520 and/orthe playback status region 530. The graphical representations mayinclude track title, artist name, album name, album year, track length,and other relevant information that may be useful for the user to knowwhen controlling the media playback system via the user interface 500.

The playback queue region 540 may include graphical representations ofaudio content in a playback queue associated with the selected playbackzone or zone group. In some embodiments, each playback zone or zonegroup may be associated with a playback queue containing informationcorresponding to zero or more audio items for playback by the playbackzone or zone group. For instance, each audio item in the playback queuemay comprise a uniform resource identifier (URI), a uniform resourcelocator (URL) or some other identifier that may be used by a playbackdevice in the playback zone or zone group to find and/or retrieve theaudio item from a local audio content source or a networked audiocontent source, possibly for playback by the playback device.

In one example, a playlist may be added to a playback queue, in whichcase information corresponding to each audio item in the playlist may beadded to the playback queue. In another example, audio items in aplayback queue may be saved as a playlist. In a further example, aplayback queue may be empty, or populated but “not in use” when theplayback zone or zone group is playing continuously streaming audiocontent, such as Internet radio that may continue to play untilotherwise stopped, rather than discrete audio items that have playbackdurations. In an alternative embodiment, a playback queue can includeInternet radio and/or other streaming audio content items and be “inuse” when the playback zone or zone group is playing those items. Otherexamples are also possible.

When playback zones or zone groups are “grouped” or “ungrouped,”playback queues associated with the affected playback zones or zonegroups may be cleared or re-associated. For example, if a first playbackzone including a first playback queue is grouped with a second playbackzone including a second playback queue, the established zone group mayhave an associated playback queue that is initially empty, that containsaudio items from the first playback queue (such as if the secondplayback zone was added to the first playback zone), that contains audioitems from the second playback queue (such as if the first playback zonewas added to the second playback zone), or a combination of audio itemsfrom both the first and second playback queues. Subsequently, if theestablished zone group is ungrouped, the resulting first playback zonemay be re-associated with the previous first playback queue, or beassociated with a new playback queue that is empty or contains audioitems from the playback queue associated with the established zone groupbefore the established zone group was ungrouped. Similarly, theresulting second playback zone may be re-associated with the previoussecond playback queue, or be associated with a new playback queue thatis empty, or contains audio items from the playback queue associatedwith the established zone group before the established zone group wasungrouped. Other examples are also possible.

Referring back to the user interface 500 of FIG. 5, the graphicalrepresentations of audio content in the playback queue region 540 mayinclude track titles, artist names, track lengths, and other relevantinformation associated with the audio content in the playback queue. Inone example, graphical representations of audio content may beselectable to bring up additional selectable icons to manage and/ormanipulate the playback queue and/or audio content represented in theplayback queue. For instance, a represented audio content may be removedfrom the playback queue, moved to a different position within theplayback queue, or selected to be played immediately, or after anycurrently playing audio content, among other possibilities. A playbackqueue associated with a playback zone or zone group may be stored in amemory on one or more playback devices in the playback zone or zonegroup, on a playback device that is not in the playback zone or zonegroup, and/or some other designated device.

The audio content sources region 550 may include graphicalrepresentations of selectable audio content sources from which audiocontent may be retrieved and played by the selected playback zone orzone group. Discussions pertaining to audio content sources may be foundin the following section.

d. Example Audio Content Sources

As indicated previously, one or more playback devices in a zone or zonegroup may be configured to retrieve for playback audio content (e.g.according to a corresponding URI or URL for the audio content) from avariety of available audio content sources. In one example, audiocontent may be retrieved by a playback device directly from acorresponding audio content source (e.g., a line-in connection). Inanother example, audio content may be provided to a playback device overa network via one or more other playback devices or network devices.

Example audio content sources may include a memory of one or moreplayback devices in a media playback system such as the media playbacksystem 200 of FIG. 2, local music libraries on one or more networkdevices (such as a control device, a network-enabled personal computer,or a networked-attached storage (NAS), for example), streaming audioservices providing audio content via the Internet (e.g., the mediaservice servers 135-145), or audio sources connected to the mediaplayback system via a line-in input connection on a playback device ornetwork devise, among other possibilities.

In some embodiments, audio content sources may be regularly added orremoved from a media playback system such as the media playback system200 of FIG. 2. In one example, an indexing of audio items may beperformed whenever one or more audio content sources are added, removedor updated. Indexing of audio items may involve scanning foridentifiable audio items in all folders/directory shared over a networkaccessible by playback devices in the media playback system, andgenerating or updating an audio content database containing metadata(e.g., title, artist, album, track length, among others) and otherassociated information, such as a URI or URL for each identifiable audioitem found. Other examples for managing and maintaining audio contentsources may also be possible.

The above discussions relating to playback devices, controller devices,playback zone configurations, and media content sources provide onlysome examples of operating environments within which functions andmethods described below may be implemented. Other operating environmentsand configurations of media playback systems, playback devices, andnetwork devices not explicitly described herein may also be applicableand suitable for implementation of the functions and methods.

IV. Social Media Queues

As discussed above, examples provided herein are directed tosocial-media playback queues. Operations related to social-mediaplayback queues may be discussed herein with respect to a particularsystem or device. This however is for purposes of example andexplanation only and should not be construed as limiting. Other systemsand/or devices may perform all or part of the operations withoutdeparting from the scope of the present examples.

A social-media computing system may be configured to receive anidentifier of a media playback system. In examples, the social-mediacomputing system may include the social-media server 130 of FIG. 1. Ingeneral, the social-media computing system may include a singlecomputing device or multiple networked computing devices configured toperform the operations of the social-media server 130 described herein.

The identifier of a media playback system, such as the media playbacksystem 140, may be any identifier that is operable to uniquely identifya particular media playback system. That is, the identifier may help todifferentiate a particular media playback system from other mediaplayback systems. In examples, the identifier may take the form of ahousehold identifier (HHID) that may include a string of alphanumericcharacters. The identifier may be computer-generated to ensure that itis indeed unique.

In practice, the social-media server 130 may receive the identifier froma number of network elements. In some examples, a media playback system,such as the media playback system 140, may be configured to provide theidentifier to the social-media server 130. The media playback system 140may be configured to do so when a particular event occurs at the mediaplayback system 140.

For instance, before the media playback system 140 is operable, themedia playback system 140 may be configured to perform one or more setupprocedures. One such procedure may provide a number of prompts via acontrol device of the media playback system 140 to a user. The promptsmay request that the user provide certain account information, such ascredentials (e.g., login name and password), for a particularsocial-media service. The media playback system 140 may be configured toreceive data indicating credentials associated with a social-mediaaccount, and based on the received credentials, the media playbacksystem 140 may be configured to transmit the identifier to thesocial-media server 130.

Additionally or alternatively, the media playback system 140 may beoperable to provide the identifier independent from any setupprocedures. For example, the control device of the media playback system140 may be configured to receive data indicating login credentials for aparticular social-media service at any point in time after the mediaplayback system 140 is setup. In this way, a user may provide his or hersocial-media account login credentials sometime after originally settingup the media playback system 140.

In other instances, after the media playback system 140 receives logincredentials, the media playback system 140 may be configured to pass thecredentials or an indication that credentials were received to the mediasystem server 120. The media system server 120 may be configured toidentify the identifier of the media playback system 140 and provide theidentifier to the social-media server 130.

In some instances, the media playback system 140 may be configured toautomatically provide the identifier of the media playback system 140 tothe social-media server 130. In particular, a playback or control devicemay determine that a social-media application is installed on anothercomputing device of the media playback system 140 (e.g., the controldevice or perhaps the computing device 150 with an installed mediaapplication that is operable to control the media playback system).Based on this determination, the playback or control device may transmitthe identifier of the media playback system 140 to the social-mediaserver 130.

In other examples, a computing device, such as the computing device 150,may be configured to provide the identifier to the social-media server130. For instance, the computing device 150 may be configured to providethe identifier when the computing device 150 first attempts to accessthe social-media network hosted by the social-media server 130.

For example, the computing device 150 may be configured to run a webbrowser or a social-media application to access the social-medianetwork, and when the computing device 150 first attempts to access thesocial-media network, the social-media server 130 may be configured tocause the computing device 150 to perform one or more account initiationprocedures. Such procedures may require a subscriber to create a loginname and password (e.g., login credentials) and to also provide certainbackground information, which may include whether the subscriber has aparticular type of media playback system and/or a playback systemaccount. The computing device 150 may be configured to receive dataindicating responses to these initiation procedures.

In the event the computing device 150 receives data indicating that thesubscriber has a particular type of media playback system, the computingdevice 150 may be configured to obtain the identifier of the mediaplayback system 140 or facilitate obtaining the identifier. For example,the computing device 150 may be configured to determine whether a mediaapplication used to control the media playback system 140 is installedon the computing device 150. If so, the computing device 150 may obtainthe identifier from the media application and provide the identifier tothe social-media server 130. In other examples, the computing device 150may receive data indicating playback system account information that islinked with the media playback system 140. For example, the subscribermay enter, during the initiation procedures, login credentials to aplayback system account that was previously created when the mediaplayback system 140 was first setup. The computing device 150 may beconfigured to pass these login credentials to the social-media server130, and then the social-media server 130 may be configured tocommunicate with the media system server 120 to obtain the identifier ofthe media playback system 140.

Additionally or alternatively, the computing device 150 may be operableto provide the identifier independent from any initiation procedures.For example, the computing device 150 (e.g., via a web browser orsocial-media application) may be configured to receive theabove-discussed data at any point in time after the account initiationprocedures are completed. In this way, a subscriber may facilitatelinking the media playback system 140 to the subscriber's social-mediaaccount some point in time after originally creating the social-mediaaccount (e.g., perhaps the subscriber purchased the media playbacksystem 140 years after creating the social-media account).

In yet other examples, the computing device 150 may be configured toautomatically provide the identifier of the media playback system 140 tothe social-media server 130. In particular, when the computing device150 first installs a media application operable to control the mediaplayback system 140, the computing device 150 may provide the identifierif the computing device 150 detects that a social-media application isalso installed on the computing device 150. Similarly, when thecomputing device 150 first installs a social-media application, thecomputing device 150 may provide the identifier if the computing device150 detects that a media application is also installed on the computingdevice 150 that is operable to control the media playback system 140.

After the social-media server 130 receives the identifier of the mediaplayback system 140, the social-media server 130 may link the identifierwith a social-media account. In particular, the social-media server 130may be configured to store in memory an association between theidentifier and the social-media account.

In examples, when the social-media server 130 receives the identifier,the social-media server 130 may also receive an indication of asocial-media account to which the identifier of the media playbacksystem 140 should be linked to. In other examples, the social-mediaserver 130 may determine the social-media account to which theidentifier should be linked to. For instance, in a scenario where thesocial-media server 130 received the identifier during initiationprocedures, the social-media server 130 may determine that theappropriate social-media account is the newly created social-mediaaccount. Other examples are also possible.

In any event, after the social-media server 130 links the identifier ofthe media playback system 140 with the social-media account, the mediaplayback system 140 is then linked to the social-media account. In thisway, the media playback system 140 is associated with the social-mediaaccount and may be controlled by certain social-media activities, asdiscussed in further detail below.

Based at least on linking the identifier with the social-media account,the social-media server 130 may be configured to generate a social-mediaplayback queue that is associated with the social-media account. Thesocial-media playback queue may be fillable with media items that areplayable by the media playback system 140. In examples, the media itemsmay take the form of audio, video, and/or audiovisual media items and/orany media described herein. In some examples, a playlist of severalmedia items or individual media items may be added to a social-mediaplayback queue.

A social-media playback queue may have a playback order that a mediaplayback system may follow when playing back the social-media playback.In examples discussed below that involve adding a media item to asocial-media playback queue, added media items may be placed at thebottom or top of the social-media playback queue. In some such examples,added media items may be placed in positions between the top and bottomof the queue. The position may be determined randomly, passed on defaultsettings, or perhaps based on user inputs. Other examples are alsopossible.

After the social-media server 130 generates a social-media playbackqueue the social-media playback queue may then be stored in such amanner that social-media subscribers utilizing computing devices and/ormedia playback systems may access the queue. In some examples, thesocial-media server 130 may be configured to store social-media playbackqueues. In other examples, the media system server 120 may be configuredto store social-media playback queues. Other examples are also possible.

To illustrate, FIG. 6A is a conceptual illustration of a social-mediaaccount 600. In particular, the illustration depicts the social-mediaaccount 600 after the social-media server 130 links the media playbacksystem 140 to the social-media account 600 and generates a social-mediaplayback queue 630. As shown, the social-media account 600 of subscriber602 (“Bob”) is part of a social-media network that includes social-mediaaccounts of subscribers 604-628. The subscribers 604-628 may be Bob'ssocial-media “friends.” As shown, some of Bob's “friends” havesocial-media accounts linked to respective media playback systems, asindicated by the musical note (e.g., subscribers 620-628). Moreover, thesocial-media playback queue 630 (“Bob's Queue”) is shown as currentlybeing empty.

After the social-media server 130 generates the social-media playbackqueue 630, Bob 602 may access the social-media playback queue 630. Forexample, Bob 602 may access the queue 630 by using his social-medialogin credentials to access the social media network and hissocial-media profile. Once Bob 602 accesses the queue 630, Bob 602 mayadd media items to the queue 630, remove media items, modify a playbackorder, and the like. Further, Bob 602 may cause the social-mediaplayback queue 630 to be played back (e.g., through a web browser on thecomputing device 150 or by the media playback system 140, among otherpossibilities).

In practice, Bob 602 may utilize the computing device 150 (and/or othercomputing devices) to access the social-media playback queue 630 (e.g.,via a web browser or a social-media application installed on thecomputing device 150). Additionally or alternatively, Bob 602 mayutilize the media playback system 140 (e.g., a control device of themedia playback system 140) to access the social-media playback queue630.

Moreover, other social-media subscribers may also access thesocial-media playback queue 630. In examples, after the social-mediaplayback queue 630 is generated, the social-media server 130 may beconfigured to establish access permissions to the social-media playbackqueue 630. Access permissions may designate other subscribers that mayaccess the social-media playback queue 630, such as “friends” of Bob602. Further, the access permissions may define what actions othersubscribers may perform with the social-media playback queue 630.

In practice, the social-media server 130 may be configured to implement“default” access permissions unless other access permissions areprovided. For example, the social-media server 130 may be configured toestablish, by default, that all social-media subscribers (e.g., evensocial-media subscribers outside of Bob's social network) may view thesocial-media playback queue 630, that “friends” of Bob 602 (e.g.,subscribers 604-628) may contribute to the queue 630, and that “friends”that also have a linked media playback system (e.g., subscribers620-628) may play back the queue 630 at their respective linked playbacksystems. Other “default” access permissions are also possible.

In other cases, the social-media server 130 may be configured to receiveaccess permission settings and may then establish the access permissionsbased on the received access permissions settings. A computing device(e.g., the computing device 150) or a media playback system (e.g., acontroller of the media playback system 140) may be configured toprovide the access permissions settings to the social-media server 130,which may occur in response to receiving data indicating Bob'spreferences regarding access permissions.

After the social-media server 130 establishes the access permissions,the social-media server 130 may be configured to apply the establishedaccess permissions to the social-media accounts of those subscriberswith access to the social-media playback queue 630. Those subscriberswith the appropriate access permissions may then access the social-mediaplayback queue 630 using a computing device and/or media playback system(e.g., a control device of a media playback system). In particular, thesocial-media server 130 may provide to the computing device or mediaplayback system the social-media playback queue 630. In some examples,the computing device or media playback system may then display a visualrepresentation of the social-media playback queue 630, play back thequeue 630, and/or facilitate contributing to the queue 630. In aparticular example, other subscribers with the appropriate accesspermissions may view a representation of the social-media playback queue630 via the social network. For instance, the other subscribers may viewthe social-media playback queue 630 through Bob's social-media profile,wall, or the like.

In some examples, one of the other subscribers may have a linked mediaplayback system as well. For instance, Bob's friend Jane 622 may havethe media playback system 142 at her home and the media playback system142 may be linked to her social-media account. After the social-mediaserver 130 established the access permissions, the social-media server130 may be configured to provide the media playback system 142 (e.g., aplayback device of the media playback system 142) an indication of Bob'squeue 630. In some cases, the media playback system 142 may haverequested Bob's queue 630 based on a control device of the mediaplayback system 142 receiving data indicating instructions to view Bob'squeue 630.

In examples, the indication may be of all of the media items in Bob'squeue 630, while in other examples the indication may be of a portion ofthose media items. Moreover, in some examples, the indication mayprovide a textual representation of Bob's queue 630 (e.g., a listing ofthose media items contained within Bob's queue 630). In other examples,the indication may provide a pointer or other network locationidentifier that is operable to locate the data storage space that storesBob's queue 630. In yet other examples, the indication may providerespective pointers or the like for some or all of the media itemscontained within Bob's queue 630.

In any event, the media playback system 142 may receive the indicationof the social-media playback queue 630 that corresponds to Bob'ssocial-media account 600. In some examples, a playback device of themedia playback system 142 may be configured to receive the indicationand in turn, provide the indication to a control device of the mediaplayback system 142. The control device may be configured to displayBob's queue 630 based on receiving the indication. The control devicemay display Bob's queue 630 by providing a visual representation of allor a portion of the media items currently contained in Bob's queue 630.

Moreover, the control device may be configured to receive playback dataindicating an instruction for the media playback system 142 to playbackBob's queue 630. The control device may then provide a playback promptto the playback device of the media playback system 142. The playbackdevice may be configured to receive the playback prompt and then obtainone or more media items identified by Bob's queue 630 for play back bythe playback device. In practice, the playback device may be configuredto obtain from the social-media server 130 a pointer or other networklocation identifier to the one or more media items. In some examples,the social-media server 130 may be configured to instruct the mediasystem server 120 to provide the playback device the media items orpointers to the one or more media items.

In examples, a media playback system (e.g., either or both of the mediaplayback systems 140 and 142) may be configured to assign a zone or zonegroup to the social-media playback queue 630. That is, a portion of theplayback devices of a media playback system may be assigned to play backthe media contained in the social-media playback queue 630, whileanother portion of media playback system may be assigned to play backother media. In some examples, a media playback system may includemultiple zones or zone groups, each of which may be assigned todifferent social-media playback queues. Other examples are alsopossible.

Moreover, in some examples, media items in a social-media playback queuemay be identified by a unique identifier, such as a universal trackidentifier (UTID). In such examples, a media playback system may beconfigured to translate the UTID, perhaps utilizing a cross-servicelinking database or the like, to an identifier of a media servicesupported by the particular media playback system. In this way, thesocial-media server 130 may be configured to provide social-mediaplayback queues in a manner such that any media playback system mayaccess the media, regardless of the particular media services supportedby the media playback system. Other examples are also possible.

In some cases, Jane 622 may use her computing device 152 or the controldevice of the media playback system 142 to add a media item to Bob'squeue 630. For example, Jane 622 may access the social network via thecomputing device 152 and may be perusing Bob's social-media profile. Thesocial-media profile may provide a visualization of Bob's queue 630. Forexample, Bob's wall or the like may include a visual representation ofBob's queue 630. Jane 622 may then add a media item to Bob's queue 630through Bob's wall or the like.

In particular, a computing device affiliated with Jane's 622social-media account (e.g., the computing device 152 or the controldevice of the media playback system 142 that was previously linked toJane's social-media account) may be configured to receive mediaselection data indicating a media item to be added to Bob's social-mediaplayback queue 630. In turn, the computing device may be configured totransmit to the social-media server 130 an indication of the media item.The social-media server 130 may then add the media item to Bob's queue630.

To illustrate, FIG. 6B is a conceptual illustration of a social-mediaplayback queue populated with media items. In particular, FIG. 6B is thesocial-media account 600 from FIG. 6A but with the social-media playbackqueue 630 populated with media items. As shown, Bob's queue 630 nowincludes Media Items 1-4. In this example, Media Item 1 was added byJohn 608 who does not have a media playback system linked to hissocial-media account, possibly using a desktop computer accessing thesocial-media network via a web browser. Media Items 2-3 were added byBob 602, possibly using the control device of the media playback system140 and/or the computing device 150. Media Item 4 was added by Jane 622in line with the above discussion.

This update to Bob's queue 630 may be viewable and otherwise accessibleto other subscribers with appropriate access permissions, perhaps inreal-time. Indeed, multiple subscribers may access Bob's queue 630 andplay back the added media items at the same time, perhaps in synchrony.A given subscriber may play back Bob's queue 630 through a web browseror social-media application on a computing device or through a linkedmedia playback system, provided the given subscriber has a linkedplayback system, among other examples.

In some cases, the contributions by a social-media “friend” to asocial-media playback queue may be removed based on that social-media“friend” being “de-friended”. For example, at some point in time, Bob602 may determine that he no longer likes John 608 (perhaps because John608 has bad musical taste), and Bob 602 may “de-friend” John 608. Inpractice, Bob 602 may do so by, for example, inputting a “de-friend”selection into the computing device 150. The computing device 150 may beconfigured to transmit data indicating an instruction remove thesocial-media account of John 608 from Bob's group of social-media“friends.” Based on receiving such an instruction, the social-mediaserver 130 may be configured to remove the “friend” association betweenJohn's and Bob's social-media accounts, modify access permissions suchthat John's social-media account no longer has access to Bob's queue,and/or remove from Bob's queue 630 any media items that John 608 added,such as Media Item 4. Other examples are also possible.

In examples, a media playback system (e.g., a playback device of a mediaplayback system) or computing device with access permissions to at leastview a social-media playback queue may be configured to generate aplaylist based on the social-media playback queue. For example, aplayback device of the media playback system 140 may be configured togenerate a playlist based on whatever media items are currentlycontained within Bob's queue 630. Then, at some other point in time, theplayback device may be configured to generate another playlist based onwhatever media items are then contained within Bob's queue 630. Thesecond playlist may be different from the first playlist in the eventthat media items from Bob's queue 630 had been added, removed, orreordered after the first playlist was generated. One or both of theseplaylists may be stored by the playback device in memory.

The social-media server 130 may be configured to generate, store, andupdate more than one social-media playback queue for any givensocial-media account. That is, any given social-media subscriber mayhave multiple social-media playback queues.

In some examples, a social-media playback queue may be generated when asocial-media event is created by a subscriber with a linked mediaplayback system. That is, the social-media server 130 may be configuredto generate a social-media playback queue based at least on receiving anindication of a social-media event corresponding to a social-mediaaccount. Queues that are generated in this way may be referred herein as“social-media-event playback queues.” Such queues are similar to thesocial-media playback queues described above; however,social-media-event playback queues are linked with a particularsocial-media event. In some examples, the social-media server 130 mayautomatically generate such a queue, or in other examples, thesocial-media server 130 may generate such a queue based on receivingdata indicating an affirmative decision to have the queue generated.

A social-media event may correspond to a real-world event that occurs ata particular time and place (e.g., a real-world location withidentifiable GPS coordinates) where a particular media playback systemwill play back media. Examples of a social-media event may includebirthday parties, weddings, graduation celebrations, and otheroccasions. Indeed, social-media events may be the similar in manyrespects to traditional social events but invitations to thesocial-media event are distributed via a social-media network, amongother differences.

Access permissions to a social-media-event playback queue may be limitedto those “friends” that the subscriber invites to the social-mediaevent. In such examples, invited “friends” may add media items to thesocial-media playback queue prior to the event, or even during theevent, and the social-media server 130 may be configured to track whichmedia items a particular “friend” adds.

To illustrate, FIG. 6C is a conceptual illustration of asocial-media-event playback queue. In particular, the illustrationdepicts the social-media account 600 after the social-media server 130generates a social-media-event playback queue 632. Here, Bob 602 mayhave created a social-media event to celebrate his birthday using asocial-media application on his computing device 150. Bob 602 may haveinvited a subset of his social-media “friends” (e.g., the subscribers610, 614, 626, and 628) to join in the celebration. After receivingevent-detail information from the computing device 150, the social-mediaserver 130 may have created the social-media event (e.g., generate an“event page” that may include an “event wall) and then generated thesocial-media-event playback queue 632. Moreover, the social-media server130 may have established and applied access permission for the queue 632such that only those subscribers invited to the social-media event mayaccess the queue 632. Other examples are also possible.

After receiving an indication of the social-media event (e.g., tocelebrate Bob's birthday), the social-media server 130 may be configuredto provide an indication of the social-media event to those subscribersinvited by Bob 602. In examples, this indication may take the form of aninvitation that may be provided to the invited subscriber via email,text message, social-media message, or the like. Moreover, theinvitation may provide an indication or perhaps a link to Bob's birthdayqueue 632.

In line with the above discussion, the invited subscribers 610, 614,626, and 628 may use a computing device or control device of a mediaplayback system to access and contribute to the social-media-eventplayback queue 632. As shown in FIG. 6C, the subscribers 610, 614, and626 added respective media items to Bob's birthday queue 632. Thesocial-media server 130 may be configured to track which subscriberadded each track to the social-media-event playback queue 632. Inexamples, the social-media server 130 may perform this operation bystoring in memory a subscriber indicator or the like along with eachadded media item.

After an invited subscriber indicates that he or she plans to attend thesocial-media event, the social-media server 130 may be configured toprovide an indication of Bob's birthday queue 632 along with the invitedsubscriber's social-media account. For example, an indication of thequeue 632 may be provided on the wall or timeline of the invitedsubscriber for others subscribers to view.

Additionally, when an invited subscriber contributes to Bob's birthdayqueue 632, the social-media server 130 may be configured to provide anindication of the contribution. For example, after the subscriber 614(“Kate”) added Media Item 3 to Bob's birthday queue 632, an indicationmay be displayed on Kate's timeline indicating “Kate added Media Item 3to Bob's Birthday Queue!” or the like.

At the social-media event, the media playback system 140 may beconfigured to access and play back the social-media-event playback queue632. In particular, the media playback system 140 may be configured toobtain from the social-media server 130 the media items or links to themedia items contained in Bob's birthday queue 632. In some examples, themedia system server 120 may be configured to facilitate the mediaplayback system 140 obtaining the media items.

In some examples, the media playback system 140 may be configured to,before playing back a given media item from the social-media-eventplayback queue 632, enable the given media item for play back. Enablinga media item for play back may be performed in a number of manners.

In one example, the media playback system 140 may be configured toreceive an enable message indicating one or more media items to enablefor play back, and based on the received enable message, enable theindicated media items for play back. In particular, when a “friend”arrives at the social-media event (e.g., Bob's birthday party located ata particular geographic location), the “friend” may use his or hercomputing device to “check in” to the social-event using a social-mediaapplication installed on the computing device. For instance, the“friend” may access the social-media wall for the social-media event and“check in” indicating that the “friend” is at the event.

In practice, the computing device may be configured to transmit to thesocial-media server 130 an indication that the computing device (and byimplication, the particular subscriber) is located at the event locationof the social-media event. In some examples, the indication may identifythe particular social-media event that the subscriber is at or perhapsit may identify the geographic location (e.g., via GPS coordinates) ofthe computing device at the time the “check in” occurred. In any event,the social-media server 130 may be configured to receive the indicationand determine which media items, if any, the particular subscriber addedto the social-media-event playback queue 632.

The social-media server 130 may then provide to the media playbacksystem 140 an enable message instructing the media playback system 140to enable for play back the media items added by the particularsubscriber. To illustrate, returning back to FIG. 6C, when a computingdevice linked to the subscriber 610 provides to the social-media server130 an indication that the subscriber 610 is at Bob's birthday party,the social-media server 130 may facilitate enabling Media Item 6 forplay back.

In some examples, the social-media server 130 and/or the media playbacksystem 140 may be configured to modify the playback order of thesocial-media-event playback queue 632 based on an indication of a givensubscriber arriving at the event. Modifying the playback order mayinvolve moving, within the queue, one or more media items that the givensubscriber added to the playback queue 632. In this way, the mediaplayback system 140 may be configured to play a media item that the“friend” added to the social-media-event playback queue 632 relativelyclose to the time that the “friend” arrived and “checked in” to thesocial-media event.

For example, returning to FIG. 6C, after the media playback system 140enables Media Item 6 for play back, the media playback system 140 mayalso move that media item up in the playback order. For example, if themedia playback system 140 were playing Bob's birthday queue 632 in orderas it appears in FIG. 6C and the current media item being played wasMedia Item 2, the media playback system 140 may move Media Item 6 toimmediately follow Media Item 2. Other examples are also possible.

In some examples, the social-media server 130 may be configured toreceive one or more “check-in” indications from respective computingdevices or the like, and based on the received indications, thesocial-media server 130 may be configured to curate a playlist to beadded to a social-media playback queue, such as Bob's birthday queue632. In particular, after receiving “check-in” indications, thesocial-media server 130 may be configured to determine the subscribersthat have “checked-in” to a given social-media event. The social-mediaserver 130 may be configured to access the social-media accounts of the“checked-in” subscribers to analyze captured life events, musicalpreferences, favorite artists or albums, trending tastes, and the likeof those subscribers to curate a playlist.

For example, the social-media server 130 may determine, based on the“checked-in” subscribers' social-media profiles, that the subscribersare all (or perhaps a predetermined threshold amount of) friends fromhigh school from the 1990s. The social-media server 130 may then curatea 1990 s based playlist. In another example, the social-media server 130may determine that all (or a predetermined threshold amount of) the“checked-in” subscribers attended the same concert. The social-mediaserver 130 may then curate a playlist based on that concert, perhapsusing the set list from the concert. Other examples are also possible.

Thereafter, the social-media server 130 may be configured to add thecurated playlist to social-media playback queue. The media playbacksystem 140 may then play back the curated playlist.

One of ordinary skill in the art will appreciate that other social-mediaplayback queues may be generated based on other social-media relatedactivities and that the above-discussion of a social-media event is notmeant to be limiting. Other examples are possible and contemplatedherein.

For methods 700 and 800 of FIGS. 7 and 8, respectively, and otherprocesses and methods disclosed herein, the flowcharts showfunctionality and operation of one possible implementation of presentembodiments. In this regard, each block may represent a module, asegment, or a portion of program code, which includes one or moreinstructions executable by a processor for implementing specific logicalfunctions or steps in the process. The program code may be stored on anytype of computer-readable medium, for example, such as a storage deviceincluding a disk or hard drive. The computer-readable medium may includenon-transitory computer-readable medium, for example, such ascomputer-readable media that stores data for short periods of time likeregister memory, processor cache and Random Access Memory (RAM). Thecomputer-readable medium may also include non-transitory media, such assecondary or persistent long term storage, like read only memory (ROM),optical or magnetic disks, compact-disc read only memory (CD-ROM), forexample. The computer-readable media may also be any other volatile ornon-volatile storage systems. The computer-readable medium may beconsidered a computer-readable storage medium, for example, or atangible storage device. In addition, for the methods 700 and 800, andother processes and methods disclosed herein, each block in therespective figure may represent circuitry that is wired to perform thespecific logical functions in the process.

Furthermore, although the blocks are illustrated in sequential order,these blocks may also be performed in parallel, and/or in a differentorder than those described herein. Also, the various blocks may becombined into fewer blocks, divided into additional blocks, and/orremoved based upon the desired implementation.

For clarity, the methods may be described herein with reference to FIGS.1 and 6A-6C. It should be understood, however, that this is for purposesof example and explanation only and that the operations of the methodsshould not be limited by these figures.

Method 700 shown in FIG. 7 presents an embodiment of a method that maybe implemented within an operating environment (e.g., the networkconfiguration 100 of FIG. 1) involving a computing system, such as thesocial-media server 130 of FIG. 1. In some implementations, anadditional computing system (e.g., the media system server 120) incommunication with the social-media server 130 may perform aspects ofthe method 700. The method 700 may include one or more operations,functions, or actions as illustrated by one or more of blocks 702-712.These operations, functions, or actions may be performed in line withthe above discussion. Moreover, other of the operations, functions, oractions discussed above may be performed with or in addition to themethod 700.

At block 702, the method 700 may involve the social-media server 130receiving an identifier of a media playback system, such as the mediaplayback system 140. At block 704, the method 700 may involve thesocial-media server 130 linking the identifier with a social-mediaaccount such that the media playback system 140 is associated with thesocial-media account. Then, at block 706, the method 700 may involve,based at least on linking the identifier with the social-media account,the social-media server 130 generating a social-media playback queuethat is fillable with one or more media items that are playable by themedia playback system 140. At block 708, the method 700 may involve thesocial-media server 130 establishing access permissions to thesocial-media playback queue, where the access permissions indicate atleast one additional social-media account that is within a social-medianetwork of the social-media account that has access to the social-mediaplayback queue. At block 710, the method 700 may involve thesocial-media server 130 receiving, from a computing device affiliatedwith the at least one additional social-media account (e.g., thecomputing device 150), an indication of a media item to be added to thesocial-media playback queue. At block 712, the method 700 may alsoinvolve the social-media server 130 adding the media item to thesocial-media playback queue.

Method 800 shown in FIG. 8 presents an embodiment of a method that maybe implemented within an operating environment (e.g., the networkconfiguration 100 of FIG. 1) involving a computing system, such as themedia playback system 142 of FIG. 1. In particular, the method 800 maybe implemented by a computing device, such as a media playback device(e.g., the playback device 300 of FIG. 3) or media playback controldevice (e.g., the control device 400 of FIG. 4), of a media playbacksystem. In some implementations, an additional computing device (e.g., aplayback or control device) in communication with the computing devicemay perform aspects of the method 800. The method 800 may include one ormore operations, functions, or actions as illustrated by one or more ofblocks 802-808. These operations, functions, or actions may be performedin line with the above discussion. Moreover, other of the operations,functions, or actions discussed above may be performed with or inaddition to the method 800.

At block 802, the method 800 may involve the playback device 300 (or acontrol device 400) transmitting, to a social-media computing system(e.g., the social-media server 130), an identifier of a media playbacksystem (e.g., the media playback system 142 that includes the playbackdevice 300 and/or control device 400) to facilitate associating themedia playback system 142 with a first social-media account. At block804, the method 800 may involve the playback device 300 receiving, fromthe social-media server 130, an indication of a social-media playbackqueue corresponding to a second social-media account, where the secondsocial-media account is within a social-media network of the firstsocial-media account. At block 806, the method 800 may involve theplayback device 300 receiving a playback prompt (e.g., from the controldevice 400) instructing the playback device 300 to play back thesocial-media playback queue. Then, at block 808, the method 800 mayinvolve the playback device 300 obtaining one or more media items in thesocial-media playback queue for play back by the playback device 300.

Other example methods are also contemplated herein. In particular, anycombination of the above-discussed operations, functions, or actions maybe performed consecutively in accordance with an example method.

While some examples described herein may refer to operations performedby given actors, such as “users”, “subscribers”, and/or other entities,it should be understood that this is for purposes of explanation only.The claims should not be interpreted to require action by any suchactors unless explicitly required by the language of the claimsthemselves.

VI. Conclusion

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyway(s) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

As indicated above, examples provided herein are directed tosocial-media playback queues. In one aspect, a method is provided. Themethod involves (i) receiving, by a computing system, an identifier of amedia playback system, (ii) linking the identifier with a social-mediaaccount such that the media playback system is associated with thesocial-media account, (iii) based at least on linking the identifierwith the social-media account, generating a social-media playback queuethat is fillable with one or more media items that are playable by themedia playback system, (iv) establishing access permissions to thesocial-media playback queue, wherein the access permissions indicate atleast one additional social-media account that (a) is within asocial-media network of the social-media account and (b) has access tothe social-media playback queue, (v) receiving, by the computing systemfrom a computing device affiliated with the at least one additionalsocial-media account, an indication of a media item to be added to thesocial-media playback queue, and (vi) adding the media item to thesocial-media playback queue.

In another aspect, a computing system is provided. The computing systemcomprises a network interface, a processing unit, a non-transitorycomputer-readable medium, and program instructions stored on thenon-transitory computer-readable medium. The program instructions areexecutable by the processing unit and when executed cause the computingsystem to (i) receive an identifier of a media playback system, (ii)link the identifier with a social-media account such that the mediaplayback system is associated with the social-media account, (iii) basedat least on linking the identifier with the social-media account,generate a social-media playback queue that is fillable with one or moremedia items that are playable by the media playback system, (iv)establish access permissions to the social-media playback queue, whereinthe access permissions indicate at least one additional social-mediaaccount that (a) is within a social-media network of the social-mediaaccount and (b) has access to the social-media playback queue, (v)receive, from a computing device affiliated with the at least oneadditional social-media account, an indication of a media item to beadded to the social-media playback queue, and (vi) add the media item tothe social-media playback queue.

In yet another aspect, a non-transitory computer-readable medium isprovided. The non-transitory computer-readable medium havinginstructions stored thereon that are executable by a computing system tocause the computing system to (i) receive an identifier of a mediaplayback system, (ii) link the identifier with a social-media accountsuch that the media playback system is associated with the social-mediaaccount, (iii) based at least on linking the identifier with thesocial-media account, generate a social-media playback queue that isfillable with one or more media items that are playable by the mediaplayback system, (iv) establish access permissions to the social-mediaplayback queue, wherein the access permissions indicate at least oneadditional social-media account that (a) is within a social-medianetwork of the social-media account and (b) has access to thesocial-media playback queue, (v) receive, from a computing deviceaffiliated with the at least one additional social-media account, anindication of a media item to be added to the social-media playbackqueue, and (vi) add the media item to the social-media playback queue.

In an additional aspect, a method is provided. The method involves (i)transmitting, by a media playback device to a social-media computingsystem, an identifier of the media playback system to facilitateassociating the media playback system with a first social-media account,(ii) receiving, by the media playback device from the social-mediacomputing system, an indication of a social-media playback queuecorresponding to a second social-media account, wherein the secondsocial-media account is within a social-media network of the firstsocial-media account, (iii) receiving, by a media playback device, aplayback prompt instructing the media playback device to play back thesocial-media playback queue, and (iv) obtaining, by the media playbackdevice, one or more media items in the social-media playback queue forplay back by the media playback device.

In another aspect, a media playback device is provided. The mediaplayback device comprises one or more media processing components, atleast one processor, a non-transitory computer-readable medium andprogram instructions stored on the non-transitory computer-readablemedium. The program instructions are executable by the at least oneprocessor and when executed cause the media playback device to (i)transmit, to a social-media computing system, an identifier of the mediaplayback system to facilitate associating the media playback system witha first social-media account, (ii) receive, from the social-mediacomputing system, an indication of a social-media playback queuecorresponding to a second social-media account, wherein the secondsocial-media account is within a social-media network of the firstsocial-media account, (iii) receive a playback prompt instructing themedia playback device to play back the social-media playback queue, and(iv) obtain one or more media items in the social-media playback queuefor play back by the media playback device.

In one other aspect, a non-transitory computer-readable medium isprovided. The non-transitory computer-readable medium havinginstructions stored thereon that are executable by a media playbacksystem to cause the media playback system to (i) transmit, to asocial-media computing system, an identifier of the media playbacksystem to facilitate associating the media playback system with a firstsocial-media account, (ii) receive, from the social-media computingsystem, an indication of a social-media playback queue corresponding toa second social-media account, wherein the second social-media accountis within a social-media network of the first social-media account,(iii) receive a playback prompt instructing the media playback device toplay back the social-media playback queue, and (iv) obtain one or moremedia items in the social-media playback queue for play back by themedia playback device.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of aninvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforgoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

1. A system comprising a first network device, wherein the first networkdevice comprises: an 802.11-compatible network interface; an802.15-compatible personal area network interface; at least oneprocessor; and at least one non-transitory computer-readable mediumcomprising program instructions that are executable by the at least oneprocessor such that the first network device is configured to: receive,via an application, input data representing a command to create a socialmedia event associated with a first social-media account of asocial-media network, wherein a social-media service defines existingconnections between social media accounts to form the social-medianetwork; cause, via the 802.11-compatible network interface,social-media messages comprising invitations to the social media eventto be sent to one or more second social media accounts of thesocial-media network via one or more servers of the social-mediaservice; receive, via the application, input data representing selectionof one or more audio tracks for a social-media playback queue; cause theone or more selected audio tracks to be added to the social-mediaplayback queue; and during the social media event, (i) display, via theapplication, an indication that a second network device associated witha particular second social media account of the social-media network hasjoined the social media event, (ii) cause, via the 802.15-compatiblepersonal area network interface, a playback device to play back thesocial media queue, and (iii) cause, via the 802.11-compatible networkinterface, the second network device to play back the social media queuein synchrony with playback of the social media queue by the playbackdevice.
 2. The system of claim 1, wherein the one or more selected audiotracks comprise one or more audio tracks from a streaming audio service,and wherein the program instructions that are executable by the at leastone processor such that the first network device is configured to causethe playback device to play back the social media queue comprise programinstructions that are executable by the at least one processor such thatthe first network device is configured to: stream, via the802.11-compatible network interface from one or more servers of thestreaming audio service, data representing at least one audio track fromthe social-media playback queue.
 3. The system of claim 2, wherein theprogram instructions that are executable by the at least one processorsuch that the first network device is configured to cause the secondnetwork device to play back the social media queue in synchrony withplayback of the social media queue by the playback device compriseprogram instructions that are executable by the at least one processorsuch that the first network device is configured to: cause, via the802.11-compatible network interface, the second network device to streamdata representing the at least one audio track from the one or moreservers of the streaming audio service.
 4. The system of claim 2,wherein at least one non-transitory computer readable medium furthercomprises program instructions that are executable by the at least oneprocessor such that the first network device is configured to: receive,via the application, data representing selection of one or moreadditional audio tracks for the social-media playback queue, wherein theone or more additional audio tracks comprise one or more audio tracksfrom an additional streaming audio service; and cause the one or moreadditional audio tracks to be added to the social-media playback queue.5. The system of claim 1, wherein at least one non-transitory computerreadable medium further comprises program instructions that areexecutable by the at least one processor such that the first networkdevice is configured to: store the social-media queue in data storage ofthe first network device.
 6. The system of claim 1, wherein the programinstructions that are executable by the at least one processor such thatthe first network device is configured to cause the social-mediamessages comprising invitations to the social media event to be sent toone or more second social media accounts of the social-media networkcomprise program instructions that are executable by the at least oneprocessor such that the first network device is configured to: causeparticular social-media messages comprising links to the social mediaevent to be sent to the one or more second social media accounts of thesocial-media network.
 7. The system of claim 1, wherein the firstnetwork device comprises a cellular modem, and wherein at least onenon-transitory computer readable medium further comprises programinstructions that are executable by the at least one processor such thatthe first network device is configured to: cause, via the cellularmodem, text messages comprising invitations to the social media event tobe sent to one or more additional network devices.
 8. The system ofclaim 1, wherein at least one non-transitory computer readable mediumfurther comprises program instructions that are executable by the atleast one processor such that the first network device is configured to:cause, via the 802.11-compatible network interface, additionalsocial-media messages comprising invitations to the social media eventto be sent to one or more social media accounts of an additionalsocial-media network via one or more servers of an additionalsocial-media service, wherein the social-media service defines existingconnections between social media accounts to form the additionalsocial-media network.
 9. A tangible, non-transitory computer-readablemedium comprising program instructions that are executable by at leastone processor such that a first network device is configured to:receive, via an application, input data representing a command to createa social media event associated with a first social-media account of asocial-media network, wherein a social-media service defines existingconnections between social media accounts to form the social-medianetwork; cause, via an 802.11-compatible network interface, social-mediamessages comprising invitations to the social media event to be sent toone or more second social media accounts of the social-media network viaone or more servers of the social-media service; receive, via theapplication, input data representing selection of one or more audiotracks for a social-media playback queue; cause the one or more selectedaudio tracks to be added to the social-media playback queue; and duringthe social media event, (i) display, via the application, an indicationthat a second network device associated with a particular second socialmedia account of the social-media network has joined the social mediaevent, (ii) cause, via an 802.15-compatible personal area networkinterface, a playback device to play back the social media queue, and(iii) cause, via the 802.11-compatible network interface, the secondnetwork device to play back the social media queue in synchrony withplayback of the social media queue by the playback device.
 10. Thetangible, non-transitory computer-readable medium of claim 9, whereinthe one or more selected audio tracks comprise one or more audio tracksfrom a streaming audio service, and wherein the program instructionsthat are executable by the at least one processor such that the firstnetwork device is configured to cause the playback device to play backthe social media queue comprise program instructions that are executableby the at least one processor such that the first network device isconfigured to: stream, via the 802.11-compatible network interface fromone or more servers of the streaming audio service, data representing atleast one audio track from the social-media playback queue.
 11. Thetangible, non-transitory computer-readable medium of claim 10, whereinthe program instructions that are executable by the at least oneprocessor such that the first network device is configured to cause thesecond network device to play back the social media queue in synchronywith playback of the social media queue by the playback device compriseprogram instructions that are executable by the at least one processorsuch that the first network device is configured to: cause, via the802.11-compatible network interface, the second network device to streamdata representing the at least one audio track from the one or moreservers of the streaming audio service.
 12. The tangible, non-transitorycomputer-readable medium of claim 10, wherein at least onenon-transitory computer readable medium further comprises programinstructions that are executable by the at least one processor such thatthe first network device is configured to: receive, via the application,data representing selection of one or more additional audio tracks forthe social-media playback queue, wherein the one or more additionalaudio tracks comprise one or more audio tracks from an additionalstreaming audio service; and cause the one or more additional audiotracks to be added to the social-media playback queue.
 13. The tangible,non-transitory computer-readable medium of claim 9, wherein at least onenon-transitory computer readable medium further comprises programinstructions that are executable by the at least one processor such thatthe first network device is configured to: store the social-media queuein data storage of the first network device.
 14. The tangible,non-transitory computer-readable medium of claim 9, wherein the programinstructions that are executable by the at least one processor such thatthe first network device is configured to cause the social-mediamessages comprising invitations to the social media event to be sent toone or more second social media accounts of the social-media networkcomprise program instructions that are executable by the at least oneprocessor such that the first network device is configured to: causeparticular social-media messages comprising links to the social mediaevent to be sent to the one or more second social media accounts of thesocial-media network.
 15. The system of claim 1, wherein the firstnetwork device comprises a cellular modem, and wherein at least onenon-transitory computer readable medium further comprises programinstructions that are executable by the at least one processor such thatthe first network device is configured to: cause, via the cellularmodem, text messages comprising invitations to the social media event tobe sent to one or more additional network devices.
 16. A methodcomprising: receiving, via an application, input data representing acommand to create a social media event associated with a firstsocial-media account of a social-media network, wherein a social-mediaservice defines existing connections between social media accounts toform the social-media network; causing, via an 802.11-compatible networkinterface, social-media messages comprising invitations to the socialmedia event to be sent to one or more second social media accounts ofthe social-media network via one or more servers of the social-mediaservice; receiving, via the application, input data representingselection of one or more audio tracks for a social-media playback queue;causing the one or more selected audio tracks to be added to thesocial-media playback queue; and during the social media event, (i)displaying, via the application, an indication that a second networkdevice associated with a particular second social media account of thesocial-media network has joined the social media event, (ii) causing,via an 802.15-compatible personal area network interface, a playbackdevice to play back the social media queue, and (iii) causing, via the802.11-compatible network interface, the second network device to playback the social media queue in synchrony with playback of the socialmedia queue by the playback device.
 17. The method of claim 16, whereinthe one or more selected audio tracks comprise one or more audio tracksfrom a streaming audio service, and wherein causing the playback deviceto play back the social media queue comprises: streaming, via the802.11-compatible network interface from one or more servers of thestreaming audio service, data representing at least one audio track fromthe social-media playback queue.
 18. The tangible, non-transitorycomputer-readable medium of claim 10, wherein causing the second networkdevice to play back the social media queue in synchrony with playback ofthe social media queue by the playback device comprises: causing, viathe 802.11-compatible network interface, the second network device tostream data representing the at least one audio track from the one ormore servers of the streaming audio service.
 19. The method of claim 17,further comprising: receiving, via the application, data representingselection of one or more additional audio tracks for the social-mediaplayback queue, wherein the one or more additional audio tracks compriseone or more audio tracks from an additional streaming audio service; andcausing the one or more additional audio tracks to be added to thesocial-media playback queue.
 20. The method of claim 16, furthercomprising: causing, via the 802.11-compatible network interface,additional social-media messages comprising invitations to the socialmedia event to be sent to one or more social media accounts of anadditional social-media network via one or more servers of an additionalsocial-media service, wherein the social-media service defines existingconnections between social media accounts to form the additionalsocial-media network.